// 高精度减法
// 测试链接：https://www.luogu.com.cn/problem/P2142
// 参考帖子：https://www.cnblogs.com/dx123/p/16654287.html
// 相关帖子 ：https://oi-wiki.org/math/bignum/
// 提交以下的code，可以直接通过

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 11000;
int A[MAXN], B[MAXN], C[MAXN];
int la, lb, lc;

// A >= B -> true
// A < B -> false
bool cmp(int a[], int b[])
{
    if(la != lb) return la > lb;
    for(int i = la; i >= 1; --i)
    {
        if(a[i] != b[i]) return a[i] > b[i];
    }
    return true; // 相等时，避免出现 -0
}

// c = a - b
void sub(int a[], int b[], int c[])
{
    for(int i = 1; i <= lc; ++i)
    {
        if(a[i] < b[i]) // 错位
        {
            --a[i + 1];
            a[i] += 10; 
        }
        c[i] = a[i] - b[i]; // 存差
    }
    while(c[lc] == 0 && lc > 1) --lc; // 处理前导零 
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    /*
    高精度加法的步骤：
    1. 高精度数字利用字符串读入
    2. 把字符串翻转存入两个整形数组 A，B
    3. 若 A < B，则交换 A，B，输出负号
    4. 从低位到高位，逐位求差，错位，存差
    5. 把数组 C 从高位到低位依次输出
    */

    string sa, sb;
    cin >> sa >> sb;
    
    la = sa.size(), lb = sb.size(), lc = max(la, lb);
    // 字符串翻转
    for(int i = 1; i <= la; ++i) A[i] = sa[la - i] - '0';
    for(int i = 1; i <= lb; ++i) B[i] = sb[lb - i] - '0';
    if(!cmp(A, B))
    {
        swap(A, B);
        putchar('-');
    }
    sub(A, B, C);
    for(int i = lc; i >= 1; --i) printf("%d", C[i]);

    return 0;
}